[INFO] cloning repository https://github.com/xaviershay/rust-puzzlefighter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xaviershay/rust-puzzlefighter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxaviershay%2Frust-puzzlefighter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxaviershay%2Frust-puzzlefighter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5220173bae894ab69539d0085b3e5d5783bec8af
[INFO] checking xaviershay/rust-puzzlefighter against try#72f88fc4e9458f89516a0b8b0868f3718aec5b47 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxaviershay%2Frust-puzzlefighter" "/workspace/builds/worker-0/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/xaviershay/rust-puzzlefighter on toolchain 72f88fc4e9458f89516a0b8b0868f3718aec5b47
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/xaviershay/rust-puzzlefighter
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/xaviershay/rust-puzzlefighter
[INFO] tweaked toml for git repo https://github.com/xaviershay/rust-puzzlefighter written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/xaviershay/rust-puzzlefighter already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_debug.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_fuse.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_drop.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_wall_kick.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Updating git repository `https://github.com/PistonDevelopers/sprite`
[INFO] [stderr] error: the lock file /workspace/builds/worker-0/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/PistonDevelopers/sprite`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_debug.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_fuse.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_drop.rs
[INFO] [stderr] * /workspace/builds/worker-0/source/tests/test_wall_kick.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded piston-float v1.0.0
[INFO] [stderr]   Downloaded pistoncore-glutin_window v0.66.0
[INFO] [stderr]   Downloaded shader_version v0.7.0
[INFO] [stderr]   Downloaded image v0.23.9
[INFO] [stderr]   Downloaded gfx_gl v0.6.1
[INFO] [stderr]   Downloaded gfx_device_gl v0.16.2
[INFO] [stderr]   Downloaded pistoncore-input v1.0.0
[INFO] [stderr]   Downloaded piston-ai_behavior v0.32.0
[INFO] [stderr]   Downloaded piston-gfx_texture v0.41.0
[INFO] [stderr]   Downloaded glutin v0.21.2
[INFO] [stderr]   Downloaded piston-texture v0.8.0
[INFO] [stderr]   Downloaded bytemuck v1.4.1
[INFO] [stderr]   Downloaded gfx v0.18.2
[INFO] [stderr]   Downloaded gfx_core v0.9.2
[INFO] [stderr]   Downloaded vecmath v1.0.0
[INFO] [stderr]   Downloaded piston2d-gfx_graphics v0.70.0
[INFO] [stderr]   Downloaded piston2d-graphics v0.37.0
[INFO] [stderr]   Downloaded piston_window v0.112.0
[INFO] [stderr]   Downloaded gl v0.11.0
[INFO] [stderr]   Downloaded piston-viewport v1.0.0
[INFO] [stderr]   Downloaded pistoncore-window v0.47.0
[INFO] [stderr]   Downloaded version-compare v0.0.10
[INFO] [stderr]   Downloaded sdl2 v0.34.3
[INFO] [stderr]   Downloaded sdl2-sys v0.34.3
[INFO] [stderr]   Downloaded pistoncore-event_loop v0.52.0
[INFO] [stderr]   Downloaded pistoncore-sdl2_window v0.66.0
[INFO] [stderr]   Downloaded piston-graphics_api_version v1.0.0
[INFO] [stderr]   Downloaded piston v0.52.0
[INFO] [stderr]   Downloaded png v0.16.7
[INFO] [stderr]   Downloaded interpolation v0.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 782d42ece3212cf972c4dc817533014ed9594bb7c1e899325c2eae72425c2c1e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "782d42ece3212cf972c4dc817533014ed9594bb7c1e899325c2eae72425c2c1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "782d42ece3212cf972c4dc817533014ed9594bb7c1e899325c2eae72425c2c1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "782d42ece3212cf972c4dc817533014ed9594bb7c1e899325c2eae72425c2c1e", kill_on_drop: false }`
[INFO] [stdout] 782d42ece3212cf972c4dc817533014ed9594bb7c1e899325c2eae72425c2c1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+72f88fc4e9458f89516a0b8b0868f3718aec5b47" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d7660bb77444ea2c1471650e41fecad8a832fea017da609888e28d16f92dc6f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "9d7660bb77444ea2c1471650e41fecad8a832fea017da609888e28d16f92dc6f", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_debug.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_fuse.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_drop.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_wall_kick.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking piston-float v1.0.0
[INFO] [stderr]    Compiling libloading v0.6.3
[INFO] [stderr]    Compiling syn v1.0.41
[INFO] [stderr]    Compiling serde v1.0.116
[INFO] [stderr]    Compiling serde_derive v1.0.116
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling pkg-config v0.3.18
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking either v1.6.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]    Compiling cc v1.0.59
[INFO] [stderr]    Compiling version-compare v0.0.10
[INFO] [stderr]     Checking piston-texture v0.8.0
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking read_color v1.0.0
[INFO] [stderr]     Checking interpolation v0.2.0
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling sdl2 v0.34.3
[INFO] [stderr]     Checking piston-shaders_graphics2d v0.3.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]     Checking uuid v0.8.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling rayon v1.4.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]     Checking piston-viewport v1.0.0
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking miniz_oxide v0.3.7
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]    Compiling sdl2-sys v0.34.3
[INFO] [stderr]     Checking crc32fast v1.2.0
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]     Checking draw_state v0.8.0
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]     Checking tiff v0.5.0
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking png v0.16.7
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking gfx_core v0.9.2
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling wayland-scanner v0.21.13
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking ordered-float v1.1.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rayon-core v1.8.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling gfx_gl v0.6.1
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking piston2d-graphics v0.37.0
[INFO] [stderr]     Checking uuid v0.6.5
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]     Checking gfx v0.18.2
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking jpeg-decoder v0.1.20
[INFO] [stderr]     Checking image v0.23.9
[INFO] [stderr]     Checking gfx_device_gl v0.16.2
[INFO] [stderr]     Checking pistoncore-input v1.0.0
[INFO] [stderr]     Checking piston-gfx_texture v0.41.0
[INFO] [stderr]     Checking piston2d-gfx_graphics v0.70.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking pistoncore-window v0.47.0
[INFO] [stderr]     Checking piston-ai_behavior v0.32.0
[INFO] [stderr]     Checking winit v0.19.5
[INFO] [stderr]     Checking glutin v0.21.2
[INFO] [stderr]     Checking pistoncore-event_loop v0.52.0
[INFO] [stderr]     Checking pistoncore-sdl2_window v0.66.0
[INFO] [stderr]     Checking pistoncore-glutin_window v0.66.0
[INFO] [stderr]     Checking piston2d-sprite v0.61.0 (https://github.com/PistonDevelopers/sprite#fa3dcd6a)
[INFO] [stderr]     Checking piston v0.52.0
[INFO] [stderr]     Checking piston_window v0.112.0
[INFO] [stderr]     Checking puzzlefighter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: no rules expected the token `flags`
[INFO] [stdout]   --> src/values.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     flags Sides: u8 {
[INFO] [stdout]    |     ^^^^^ no rules expected this token in macro call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Sides`
[INFO] [stdout]    --> src/values.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Sides::from_bits(0b00000000);
[INFO] [stdout]     |         ^^^^^ use of undeclared type or module `Sides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Sides`
[INFO] [stdout]    --> src/values.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         Sides::from_bits_truncate(0b00000000);
[INFO] [stdout]     |         ^^^^^ use of undeclared type or module `Sides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `flags`
[INFO] [stdout]   --> src/values.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     flags Sides: u8 {
[INFO] [stdout]    |     ^^^^^ no rules expected this token in macro call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]   --> src/human_player.rs:94:64
[INFO] [stdout]    |
[INFO] [stdout] 94 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(0, 1))), InputAction::Clockwise);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]   --> src/human_player.rs:95:64
[INFO] [stdout]    |
[INFO] [stdout] 95 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(0, 3))), InputAction::AntiClockwise);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]    --> src/human_player.rs:105:64
[INFO] [stdout]     |
[INFO] [stdout] 105 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(1, 1))), InputAction::Clockwise);
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]    --> src/human_player.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 106 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(1, 3))), InputAction::AntiClockwise);
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |     borders: Sides,
[INFO] [stdout]     |              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |             borders: SIDE_ALL,
[INFO] [stdout]     |                      ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |             borders: SIDE_ALL,
[INFO] [stdout]     |                      ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.borders != SIDE_ALL
[INFO] [stdout]     |                         ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:169:6
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl Sides {
[INFO] [stdout]     |      ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.remove(SIDE_RIGHT);
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |         self.toggle(SIDE_RIGHT);
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:287:30
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn to_side(&self) -> Sides {
[INFO] [stdout]     |                              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/values.rs:289:33
[INFO] [stdout]     |
[INFO] [stdout] 289 |             Direction::Up    => SIDE_TOP,
[INFO] [stdout]     |                                 ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:290:33
[INFO] [stdout]     |
[INFO] [stdout] 290 |             Direction::Right => SIDE_RIGHT,
[INFO] [stdout]     |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/values.rs:291:33
[INFO] [stdout]     |
[INFO] [stdout] 291 |             Direction::Down  => SIDE_BOTTOM,
[INFO] [stdout]     |                                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/values.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Direction::Left  => SIDE_LEFT,
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:429:30
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn borders(&self) -> Sides { self.block.borders }
[INFO] [stdout]     |                              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:434:33
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub fn fuse(&self, borders: Sides) -> Self {
[INFO] [stdout]     |                                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:313:63
[INFO] [stdout]     |
[INFO] [stdout] 313 |             if block.is_fused() && block.borders().intersects(SIDE_BOTTOM) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:322:39
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 if block.borders() == SIDE_BOTTOM_RIGHT {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:384:50
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         self.grid.set(block.fuse(SIDE_BOTTOM | SIDE_LEFT));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:384:64
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         self.grid.set(block.fuse(SIDE_BOTTOM | SIDE_LEFT));
[INFO] [stdout]     |                                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/board.rs:385:47
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         self.grid.set(up.fuse(SIDE_TOP | SIDE_LEFT));
[INFO] [stdout]     |                                               ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:385:58
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         self.grid.set(up.fuse(SIDE_TOP | SIDE_LEFT));
[INFO] [stdout]     |                                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:386:50
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         self.grid.set(right.fuse(SIDE_BOTTOM | SIDE_RIGHT));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:386:64
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         self.grid.set(right.fuse(SIDE_BOTTOM | SIDE_RIGHT));
[INFO] [stdout]     |                                                                ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/board.rs:387:52
[INFO] [stdout]     |
[INFO] [stdout] 387 |                         self.grid.set(upright.fuse(SIDE_TOP | SIDE_RIGHT));
[INFO] [stdout]     |                                                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:387:63
[INFO] [stdout]     |
[INFO] [stdout] 387 |                         self.grid.set(upright.fuse(SIDE_TOP | SIDE_RIGHT));
[INFO] [stdout]     |                                                               ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_NONE` in this scope
[INFO] [stdout]    --> src/board.rs:492:21
[INFO] [stdout]     |
[INFO] [stdout] 492 |                     SIDE_NONE
[INFO] [stdout]     |                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:571:49
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     if block.borders().contains(SIDE_BOTTOM_LEFT) {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `default_draw_state` in this scope
[INFO] [stdout]    --> src/board_renderer.rs:305:34
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 let draw_state = default_draw_state();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `JoystickAxisArgs` in this scope
[INFO] [stdout]    --> src/human_player.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if let Some(JoystickAxisArgs { axis, position, id }) = e.joystick_axis_args() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.cells[block.y() as usize()][block.x() as usize()] = Some(block);
[INFO] [stdout]    |                                 ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:44:55
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.cells[block.y() as usize()][block.x() as usize()] = Some(block);
[INFO] [stdout]    |                                                       ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.cells[position.y() as usize()][position.x() as usize()] = None;
[INFO] [stdout]    |                                    ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:50:61
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.cells[position.y() as usize()][position.x() as usize()] = None;
[INFO] [stdout]    |                                                             ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::rand::*`
[INFO] [stdout]    --> src/values.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |         use self::rand::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board.rs:514:30
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let options: Vec<Box<Fn(Piece) -> Piece>> = vec!(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Piece) -> Piece`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Sides`
[INFO] [stdout]    --> src/values.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |         Sides::from_bits(0b00000000);
[INFO] [stdout]     |         ^^^^^ use of undeclared type or module `Sides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Sides`
[INFO] [stdout]    --> src/values.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         Sides::from_bits_truncate(0b00000000);
[INFO] [stdout]     |         ^^^^^ use of undeclared type or module `Sides`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: wrong number of type arguments: expected at most 1, found 2
[INFO] [stdout]  --> src/wrapper_types.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type GameWindow = PistonWindow<(), Sdl2Window>;
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected at most 1 type argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 40 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0214, E0412, E0422, E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `puzzlefighter`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]   --> src/human_player.rs:94:64
[INFO] [stdout]    |
[INFO] [stdout] 94 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(0, 1))), InputAction::Clockwise);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]   --> src/human_player.rs:95:64
[INFO] [stdout]    |
[INFO] [stdout] 95 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(0, 3))), InputAction::AntiClockwise);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]    --> src/human_player.rs:105:64
[INFO] [stdout]     |
[INFO] [stdout] 105 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(1, 1))), InputAction::Clockwise);
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `JoystickButton`
[INFO] [stdout]    --> src/human_player.rs:106:64
[INFO] [stdout]     |
[INFO] [stdout] 106 |             inputs.insert(InputButton::Piston(Button::Joystick(JoystickButton::new(1, 3))), InputAction::AntiClockwise);
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^ use of undeclared type or module `JoystickButton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |     borders: Sides,
[INFO] [stdout]     |              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |             borders: SIDE_ALL,
[INFO] [stdout]     |                      ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |             borders: SIDE_ALL,
[INFO] [stdout]     |                      ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_ALL` in this scope
[INFO] [stdout]    --> src/values.rs:135:25
[INFO] [stdout]     |
[INFO] [stdout] 135 |         self.borders != SIDE_ALL
[INFO] [stdout]     |                         ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:169:6
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl Sides {
[INFO] [stdout]     |      ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |         self.remove(SIDE_RIGHT);
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |         self.toggle(SIDE_RIGHT);
[INFO] [stdout]     |                     ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:287:30
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn to_side(&self) -> Sides {
[INFO] [stdout]     |                              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/values.rs:289:33
[INFO] [stdout]     |
[INFO] [stdout] 289 |             Direction::Up    => SIDE_TOP,
[INFO] [stdout]     |                                 ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/values.rs:290:33
[INFO] [stdout]     |
[INFO] [stdout] 290 |             Direction::Right => SIDE_RIGHT,
[INFO] [stdout]     |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/values.rs:291:33
[INFO] [stdout]     |
[INFO] [stdout] 291 |             Direction::Down  => SIDE_BOTTOM,
[INFO] [stdout]     |                                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/values.rs:292:33
[INFO] [stdout]     |
[INFO] [stdout] 292 |             Direction::Left  => SIDE_LEFT,
[INFO] [stdout]     |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:429:30
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn borders(&self) -> Sides { self.block.borders }
[INFO] [stdout]     |                              ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Sides` in this scope
[INFO] [stdout]    --> src/values.rs:434:33
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub fn fuse(&self, borders: Sides) -> Self {
[INFO] [stdout]     |                                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:313:63
[INFO] [stdout]     |
[INFO] [stdout] 313 |             if block.is_fused() && block.borders().intersects(SIDE_BOTTOM) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:322:39
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 if block.borders() == SIDE_BOTTOM_RIGHT {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:384:50
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         self.grid.set(block.fuse(SIDE_BOTTOM | SIDE_LEFT));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:384:64
[INFO] [stdout]     |
[INFO] [stdout] 384 |                         self.grid.set(block.fuse(SIDE_BOTTOM | SIDE_LEFT));
[INFO] [stdout]     |                                                                ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/board.rs:385:47
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         self.grid.set(up.fuse(SIDE_TOP | SIDE_LEFT));
[INFO] [stdout]     |                                               ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:385:58
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         self.grid.set(up.fuse(SIDE_TOP | SIDE_LEFT));
[INFO] [stdout]     |                                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM` in this scope
[INFO] [stdout]    --> src/board.rs:386:50
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         self.grid.set(right.fuse(SIDE_BOTTOM | SIDE_RIGHT));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:386:64
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         self.grid.set(right.fuse(SIDE_BOTTOM | SIDE_RIGHT));
[INFO] [stdout]     |                                                                ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_TOP` in this scope
[INFO] [stdout]    --> src/board.rs:387:52
[INFO] [stdout]     |
[INFO] [stdout] 387 |                         self.grid.set(upright.fuse(SIDE_TOP | SIDE_RIGHT));
[INFO] [stdout]     |                                                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_RIGHT` in this scope
[INFO] [stdout]    --> src/board.rs:387:63
[INFO] [stdout]     |
[INFO] [stdout] 387 |                         self.grid.set(upright.fuse(SIDE_TOP | SIDE_RIGHT));
[INFO] [stdout]     |                                                               ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_NONE` in this scope
[INFO] [stdout]    --> src/board.rs:492:21
[INFO] [stdout]     |
[INFO] [stdout] 492 |                     SIDE_NONE
[INFO] [stdout]     |                     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `SIDE_BOTTOM_LEFT` in this scope
[INFO] [stdout]    --> src/board.rs:571:49
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     if block.borders().contains(SIDE_BOTTOM_LEFT) {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `default_draw_state` in this scope
[INFO] [stdout]    --> src/board_renderer.rs:305:34
[INFO] [stdout]     |
[INFO] [stdout] 305 |                 let draw_state = default_draw_state();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `JoystickAxisArgs` in this scope
[INFO] [stdout]    --> src/human_player.rs:168:21
[INFO] [stdout]     |
[INFO] [stdout] 168 |         if let Some(JoystickAxisArgs { axis, position, id }) = e.joystick_axis_args() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:44:33
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.cells[block.y() as usize()][block.x() as usize()] = Some(block);
[INFO] [stdout]    |                                 ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:44:55
[INFO] [stdout]    |
[INFO] [stdout] 44 |         self.cells[block.y() as usize()][block.x() as usize()] = Some(block);
[INFO] [stdout]    |                                                       ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:50:36
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.cells[position.y() as usize()][position.x() as usize()] = None;
[INFO] [stdout]    |                                    ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0214]: parenthesized type parameters may only be used with a `Fn` trait
[INFO] [stdout]   --> src/block_grid.rs:50:61
[INFO] [stdout]    |
[INFO] [stdout] 50 |         self.cells[position.y() as usize()][position.x() as usize()] = None;
[INFO] [stdout]    |                                                             ^^^^^^^ only `Fn` traits may use parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::rand::*`
[INFO] [stdout]    --> src/values.rs:484:13
[INFO] [stdout]     |
[INFO] [stdout] 484 |         use self::rand::*;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/board.rs:514:30
[INFO] [stdout]     |
[INFO] [stdout] 514 |         let options: Vec<Box<Fn(Piece) -> Piece>> = vec!(
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Piece) -> Piece`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: wrong number of type arguments: expected at most 1, found 2
[INFO] [stdout]  --> src/wrapper_types.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type GameWindow = PistonWindow<(), Sdl2Window>;
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected at most 1 type argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 40 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0214, E0412, E0422, E0425, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "9d7660bb77444ea2c1471650e41fecad8a832fea017da609888e28d16f92dc6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d7660bb77444ea2c1471650e41fecad8a832fea017da609888e28d16f92dc6f", kill_on_drop: false }`
[INFO] [stdout] 9d7660bb77444ea2c1471650e41fecad8a832fea017da609888e28d16f92dc6f
